# 装饰器是给已有函数扩展功能的一个函数，本质上是一个闭包函数

# 闭包函数，通过闭包函数可以得到一个闭包或者闭包实例
# def func_out():
# 	a = 10
# 	def inner():
# 		print(a)
# 	return inner


# 装饰器
# 闭包函数的参数只能有一个参数并且是函数类型，那么定义的定义的这个函数才是装饰器
def decorator(fn):
	def inner():
		print("请先登陆")
		fn()
	# 这里装饰器其实返回了一个闭包实例
	return inner


def comment():
	print("发表评论")


# 使用装饰器装饰已有函数
comment = decorator(comment)

comment()



